#ifndef __BEEP_H
#define __BEEP_H	 
#include "sys.h"
//////////////////////////////////////////////////////////////////////////////////	 
//本程序只供学习使用，未经作者许可，不得用于其它任何用途
//ALIENTEK精英STM32开发板
//蜂鸣器驱动代码	   
//正点原子@ALIENTEK
//技术论坛:www.openedv.com
//修改日期:2012/9/2
//版本：V1.0
//版权所有，盗版必究。
//Copyright(C) 广州市星翼电子科技有限公司 2009-2019
//All rights reserved									  
////////////////////////////////////////////////////////////////////////////////// 
//蜂鸣器端口定义
#define BEEP PBout(8)	// BEEP,蜂鸣器接口		   


// 音乐结构定义
typedef struct {
    const uint8_t* melody;     // 音符数组
    const uint8_t* duration;   // 节拍数组
    uint8_t length;            // 音符长度
} Music_t;

void BEEP_Init(void);	//初始化

void ExtActiveBuzzerInit();

void SetExtActiveBuzzerGPIO(uint8_t status);

void ExtPassiveBuzzerInit();

void ExtPassiveBuzzerPWMInit();

void ExtPassiveBuzzerAdvancePWMInit(uint32_t frequency);

// 播放单个音符
void PlayNote(uint8_t note_index, uint8_t beat);
// 播放音乐
void PlayMusic(const Music_t* music);

#endif

